package com.ctshk.rpc.booking.req.system.air.add;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 系统机票信息
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-03-09
 */
@Data


@ApiModel(value = "SupplierSystemOrderAirReq对象", description = "系统机票信息")
public class SupplierSystemOrderAirAddReq implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "所属订单")
    private Long orderId;

    @ApiModelProperty(value = "航空公司ID")
    private Long airportCompanyId;

    @ApiModelProperty(value = "航空公司")
    private String airportCompany;

    @ApiModelProperty(value = "外挂系统ID")
    private Long outSystemId;

    @ApiModelProperty(value = "外挂系统")
    private String outSystem;

    @ApiModelProperty(value = "出发地")
    private String goLocationJson;

    @ApiModelProperty(value = "目的地")
    private String desLocationJson;

    @ApiModelProperty(value = "去程航班")
    private String goFlight;

    @ApiModelProperty(value = "票种")
    private String ticketType;

    @ApiModelProperty(value = "币种ID")
    private Long currencyId;

    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "汇率")
    private Double exchangeRate;

    @ApiModelProperty(value = "支出金额")
    private BigDecimal spendAmount;

    @ApiModelProperty(value = "预订服务费")
    private BigDecimal reservAmount;

    @ApiModelProperty(value = "出票方式")
    private Integer printTicket;

    @ApiModelProperty(value = "适合人群")
    private String suitablePeople;

    @ApiModelProperty(value = "客人备注")
    private String customerRemark;

    @ApiModelProperty(value = "供应商备注")
    private String supplierRemark;

    @Valid
    @NotEmpty(message = "机票信息列表不能为空")
    @ApiModelProperty(value = "机票信息列表")
    private List<SupplierSystemOrderAirTicketAddReq> supplierSystemOrderAirTicketAddReqList;
}
